// 提供工具类(util)方法
import ImageCode from '../util/imageCode';
import EmailCode from '../util/emailCode';
import EncryptText from '../util/encrypto';

module.exports = {
  // 提供加密的工具方法
  encryptText(password) {
    // 这里 this 指的是helper
    return EncryptText.encryptText(this, password);
  },
  // 提供生成验证码的工具方法
  createImageCode() {
    // 返回svg图片给ctx.body接收
    return ImageCode.createImageCode(this.ctx);
  },
  // 提供校验验证码的工具方法
  verifyImageCode(clientCode) {
    ImageCode.verifyImageCode(this.ctx, clientCode);
  },
  // 提供发送邮件的工具方法
  async sendEmailCode(to: string) {
    return await EmailCode.sendEmailCode(this.ctx, to);
  },
  // 提供校验邮箱验证码的工具方法
  verifyEmailCode(clientCode) {
    EmailCode.verifyEmailCode(this.ctx, clientCode);
  },
};
